﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Happy.Application.Query
{
    /// <summary>
    /// 扩展类。
    /// </summary>
    public static class DataTypeExtentions
    {
        private static readonly Dictionary<DataType, Type> _DataTypeToTypeMap = new Dictionary<DataType, Type>
        {
            { DataType.Byte, typeof(byte) },
            { DataType.Short, typeof(short) },
            { DataType.Int, typeof(int) },
            { DataType.Long, typeof(long) },
            { DataType.Float, typeof(float) },
            { DataType.Double, typeof(double) },
            { DataType.Decimal, typeof(decimal) },
            { DataType.Bool, typeof(bool) },
            { DataType.String, typeof(string) },
            { DataType.Guid, typeof(Guid) },
            { DataType.Date, typeof(DateTime) },
            { DataType.DateTime, typeof(DateTime) }
        };

        /// <summary>
        /// 获取对应的原始类型。
        /// </summary>
        internal static Type ToPrimitiveType(this DataType that)
        {
            return _DataTypeToTypeMap[that];
        }
    }
}
